<script>
import {orderStatus} from "@/api/constants";
import XtxButton from "@/components/library/XtxButton.vue";
import {useCancelOrder, useConfirmOrder} from "@/views/member/order/index.vue";
import OrderCancel from "@/views/member/order/components/order-cancel.vue";

export default {
  name: "DetailAction",
  components: {OrderCancel, XtxButton},
  props:{
    order:{
      type:Object,
      default:()=>({})
    }
  },
  setup(){
    return {orderStatus,...useCancelOrder(), ...useConfirmOrder()}
  }
}
</script>

<template>
  <div class="detail-action">
    <div class="state">
      <span class="iconfont" :class="[`icon-order-${orderStatus[order.orderState].name}`]"></span>
      <p>{{ orderStatus[order.orderState].label }}</p>
    </div>
    <div class="info">
      <p>订单编号：{{order.id}}</p>
      <p>下单时间：{{order.createTime}}</p>
    </div>
    <div class="btn">
<!--      待付款-->
      <template v-if="order.orderState === 1">
        <XtxButton @click="$router.push('/member/pay?id=' + order.id)" type="primary" size="small"></XtxButton>
        <XtxButton @click="onOrderCancel(order)" type="gray" size="small">取消订单</XtxButton>
      </template>
<!--      待发货-->
      <template v-if="order.orderState === 2">
        <XtxButton @click="$router.push(`/member/checkout?orderId=${order.id}`)" type="primary" size="small">再次购买</XtxButton>
      </template>
<!--      待收货-->
      <template v-if="order.orderState === 3">
        <XtxButton @click="onOrderConfirm(order)" type="primary" size="small">确认收货</XtxButton>
        <XtxButton @click="$router.push(`/member/checkout?orderId=${order.id}`)" type="plain" size="small">再次购买</XtxButton>
      </template>
<!--      待评价-->
      <template v-if="order.orderState === 4">
        <XtxButton @click="$router.push(`/member/checkout?orderId=${order.id}`)" type="primary" size="small">再次购买</XtxButton>
        <XtxButton type="plain" size="small">评价商品</XtxButton>
        <XtxButton type="gray" size="small">申请售后</XtxButton>
      </template>
<!--      已完成-->
      <template v-if="order.orderState === 5">
      <XtxButton type="primary" size="small">评价商品</XtxButton>
      <XtxButton @click="$router.push(`/member/checkout?orderId=${order.id}`)" type="plain" size="small">再次购买</XtxButton>
      <XtxButton type="gray" size="small">申请售后</XtxButton>
      </template>
    </div>
    <Teleport to="model">
      <OrderCancel ref="orderCancelCom"/>
    </Teleport>
  </div>
</template>

<style scoped lang="less">
.detail-action {
  height: 180px;
  width: 100%;
  display: flex;
  align-items: center;

  .state {
    width: 220px;
    text-align: center;

    .iconfont {
      font-size: 40px;
      color: @xtxColor;
    }

    p {
      font-size: 16px;
      color: #666;
      margin-bottom: 10px;
    }
  }

  .info {
    width: 240px;
    line-height: 30px;

    p {
      color: #999;
    }
  }

  .btn {
    flex: 1;
    text-align: right;
    margin-right: 100px;

    .xtx-button {
      margin-left: 20px;
    }
  }
}
</style>